﻿import cn.weiyang.biz.EmpBiz;
import cn.weiyang.dao.EmpDao;
import cn.weiyang.model.Emp;
import org.junit.Before;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

import java.util.ArrayList;
import java.util.List;

/**
 * Created by Administrator on 2017/7/14.
 */
public class Demo {
    ApplicationContext applicationContext=null;
    @Before
    public void init(){
        applicationContext=new ClassPathXmlApplicationContext("spring.xml");
    }

    /**
     * 查询所有员工===
     */
    @Test
    public void test1(){
        EmpDao empDao= (EmpDao) applicationContext.getBean("empDao");
        String hql="from Emp e";
        List<Emp> emps=empDao.searchEmp(hql);
        for (Emp emp:emps){
            System.out.println(emp.getEname()+" "+emp.getSalary()+" "+emp.getDeptid());
        }
    }

    /**
     * 根据员工姓名模糊查询员工------
     */
    @Test
    public void test2(){
        EmpDao empDao= (EmpDao) applicationContext.getBean("empDao");
        Emp e=new Emp();
        e.setEname("达");
        List<Emp> emps=empDao.searchEmp(e);
        for (Emp emp:emps){
            System.out.println(emp.getEname()+" "+emp.getSalary()+" "+emp.getDeptid());
        }
    }

    /**
     * 利用事务批量添加员工(后面添加员工时如果出现错误，会发生回滚，前面添加的员工不会生效)
     */
    @Test
    public void test3() throws Exception {
        EmpBiz empBiz= (EmpBiz) applicationContext.getBean("empBiz");
        List<Emp> emps=new ArrayList<Emp>();
        for(int i=0;i<3;i++){
            Emp emp=new Emp();
            if(i==2){
                emp.setEname(null);
            }else {
                emp.setEname("李"+i);
            }
            emps.add(emp);
        }
        empBiz.addEmps(emps);
    }
}
